lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

index.md (2295B)


      1 +++
      2 title = 'Architecture representation'
      3 +++
      4 # Architecture representation
      5 Analogy with the architecture of a building:
      6 - overall picture for client
      7 - front view for client and "fine arts" committee
      8 - different view with water supply for plumber
      9 - different view with electrical wiring for electrician
     10 - etc.
     11 
     12 Basically, there are two flavors:
     13 - powerpoint slides, for managers/users/clients
     14 - UML diagrams, for technicians
     15 
     16 ## ISO/IEC/IEEE standard for architecture description (ISO 42010)
     17 Defined as architecture views and viewpoints.
     18 
     19 System stakeholder: individual/team/organization with interest in system
     20 View: expresses architecture of system from perspective of specific system concerns (like a map)
     21 Viewpoints: establishes conventions for construction, interpretation, and use of architecture views to frame specific system concerns (like a legend for a map)
     22 
     23 Viewpoint specification:
     24 * Viewpoint name
     25 * Stakeholders addressed
     26 * Concerns addressed
     27 * Language, modelling techniques (including explanation of symbols)
     28 
     29 Viewpoints separate concerns.
     30 
     31 ## Kruchten's 4+1 view model
     32 
     33 ![Kruchten's view model](7f091d7ea68f427298f3332e45870d4a.png)
     34 
     35 * Scenario viewpoint: small subset of important scenarios to show that elements of four viewpoints work together seamlessly.
     36     * acts as driver to help designers find architectural elements during architecture design
     37     * validates and illustrates architecture design on paper and as starting point for prototype tests
     38 * Logical viewpoint: supports functional requirements (services system should provide to users), shows key abstractions
     39 * Process viewpoint: mapping of functions to runtime elements
     40 * Implementation viewpoint: focuses on organisation of actual software modules (incl. packaging)
     41 * Deployment viewpoint: how various elements from above viewpoints must be mapped onto nodes
     42 
     43 ## How to decide on views
     44 What are stakeholders and their concerns?
     45 Which views address the concerns?
     46 Then prioritize and maybe combine views.
     47 
     48 ## Documenting a view
     49 * primary representation (graphical/textual)
     50 * element catalog -- refer to every element and relation, propose a definition
     51 * perhaps context diagram, variability guide
     52 * rationale -- why does the view have what it has?
     53 
     54 ![View documentation](543e94d9807540b59fb5d808ff646387.png)
     55